[INFO] fetching crate limn-layout 0.0.1...
[INFO] fixing limn-layout-0.0.1 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate limn-layout 0.0.1 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate limn-layout 0.0.1
[INFO] finished tweaking crates.io crate limn-layout 0.0.1
[INFO] tweaked toml for crates.io crate limn-layout 0.0.1 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate limn-layout 0.0.1 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 20 packages to latest compatible versions
[INFO] [stderr]       Adding euclid v0.15.6 (available: v0.22.14)
[INFO] [stderr]       Adding lazy_static v0.2.11 (available: v1.5.0)
[INFO] [stderr]       Adding log v0.3.9 (available: v0.4.33)
[INFO] [stderr]       Adding maplit v0.1.6 (available: v1.0.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `limn-layout` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 86a18b6311af53473a8e6ab33893cc4c7a2b5f8c599e3315ef93a1f66a8dcd8f
[INFO] running `Command { std: "docker" "start" "86a18b6311af53473a8e6ab33893cc4c7a2b5f8c599e3315ef93a1f66a8dcd8f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "86a18b6311af53473a8e6ab33893cc4c7a2b5f8c599e3315ef93a1f66a8dcd8f" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "86a18b6311af53473a8e6ab33893cc4c7a2b5f8c599e3315ef93a1f66a8dcd8f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "86a18b6311af53473a8e6ab33893cc4c7a2b5f8c599e3315ef93a1f66a8dcd8f" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2015 edition to 2018
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `limn-layout` (manifest) generated 1 warning
[INFO] [stderr]    Compiling heapsize v0.4.2
[INFO] [stderr]     Checking lazy_static v0.2.11
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]     Checking maplit v0.1.6
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking euclid v0.15.6
[INFO] [stderr]     Checking limn-layout v0.0.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2015 edition to 2018
[INFO] [stderr]    Migrating tests/integration.rs from 2015 edition to 2018
[INFO] [stderr]        Fixed tests/integration.rs (10 fixes)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.97s
[INFO] [stderr] crater-edition-check: limn-layout v0.0.1 (/opt/rustwide/workdir) updating edition from 2015 to 2018
[INFO] [stderr]     Checking limn-layout v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]  --> src/lib.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![cfg_attr(all(not(test), feature="clippy"), warn(result_unwrap_used))]
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]  --> src/lib.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![cfg_attr(feature="clippy", warn(unseparated_literal_suffix))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]  --> src/lib.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | #![cfg_attr(feature="clippy", warn(wrong_pub_self_convention))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]  --> src/lib.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | #![cfg_attr(feature="clippy", feature(plugin))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]  --> src/lib.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | #![cfg_attr(feature="clippy", plugin(clippy))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 | #![cfg_attr(feature="clippy", warn(cast_possible_truncation))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 | #![cfg_attr(feature="clippy", warn(cast_possible_wrap))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 | #![cfg_attr(feature="clippy", warn(cast_precision_loss))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 | #![cfg_attr(feature="clippy", warn(cast_sign_loss))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 | #![cfg_attr(feature="clippy", warn(missing_docs_in_private_items))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 | #![cfg_attr(feature="clippy", warn(mut_mut))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 | #![cfg_attr(feature="clippy", warn(print_stdout))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:31:28
[INFO] [stdout]    |
[INFO] [stdout] 31 | #![cfg_attr(all(not(test), feature="clippy"), warn(result_unwrap_used))]
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 | #![cfg_attr(feature="clippy", warn(unseparated_literal_suffix))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 | #![cfg_attr(feature="clippy", warn(wrong_pub_self_convention))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern crate` is not idiomatic in the new edition
[INFO] [stdout]   --> src/lib.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | extern crate cassowary;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         unused_extern_crates,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: convert it to a `use`
[INFO] [stdout]    |
[INFO] [stdout] 41 - extern crate cassowary;
[INFO] [stdout] 41 + use cassowary;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused extern crate
[INFO] [stdout]   --> src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | extern crate euclid;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^ unused
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unused `extern crate`
[INFO] [stdout]    |
[INFO] [stdout] 42 - extern crate euclid;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]    --> src/lib.rs:426:1
[INFO] [stdout]     |
[INFO] [stdout] 426 | / lazy_static! {
[INFO] [stdout] 427 | |     pub static ref LAYOUT: LayoutVars = LayoutVars::new();
[INFO] [stdout] 428 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:154:34
[INFO] [stdout]     |
[INFO] [stdout] 154 |     container: Option<Rc<RefCell<LayoutContainer>>>,
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 154 |     container: Option<Rc<RefCell<dyn LayoutContainer>>>,
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/constraint.rs:430:32
[INFO] [stdout]     |
[INFO] [stdout] 430 | impl ConstraintBuilder for Box<ConstraintBuilder> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 430 | impl ConstraintBuilder for Box<dyn ConstraintBuilder> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |           child.add(constraints![
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 404 | |             bound_by(&parent).padding(self.padding),
[INFO] [stdout] 405 | |             match_layout(&parent).strength(WEAK),
[INFO] [stdout] 406 | |         ]);
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]  --> src/lib.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![cfg_attr(all(not(test), feature="clippy"), warn(result_unwrap_used))]
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]  --> src/lib.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![cfg_attr(feature="clippy", warn(unseparated_literal_suffix))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]  --> src/lib.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | #![cfg_attr(feature="clippy", warn(wrong_pub_self_convention))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]  --> src/lib.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | #![cfg_attr(feature="clippy", feature(plugin))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]  --> src/lib.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | #![cfg_attr(feature="clippy", plugin(clippy))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 | #![cfg_attr(feature="clippy", warn(cast_possible_truncation))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 | #![cfg_attr(feature="clippy", warn(cast_possible_wrap))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 | #![cfg_attr(feature="clippy", warn(cast_precision_loss))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 | #![cfg_attr(feature="clippy", warn(cast_sign_loss))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 | #![cfg_attr(feature="clippy", warn(missing_docs_in_private_items))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 | #![cfg_attr(feature="clippy", warn(mut_mut))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 | #![cfg_attr(feature="clippy", warn(print_stdout))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:31:28
[INFO] [stdout]    |
[INFO] [stdout] 31 | #![cfg_attr(all(not(test), feature="clippy"), warn(result_unwrap_used))]
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 | #![cfg_attr(feature="clippy", warn(unseparated_literal_suffix))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 | #![cfg_attr(feature="clippy", warn(wrong_pub_self_convention))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern crate` is not idiomatic in the new edition
[INFO] [stdout]   --> src/lib.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | extern crate cassowary;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         unused_extern_crates,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: convert it to a `use`
[INFO] [stdout]    |
[INFO] [stdout] 41 - extern crate cassowary;
[INFO] [stdout] 41 + use cassowary;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused extern crate
[INFO] [stdout]   --> src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | extern crate euclid;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^ unused
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unused `extern crate`
[INFO] [stdout]    |
[INFO] [stdout] 42 - extern crate euclid;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:114:28
[INFO] [stdout]     |
[INFO] [stdout] 114 |                   parent.add(constraints![
[INFO] [stdout]     |  ____________________________-
[INFO] [stdout] 115 | |                     start | EQ(REQUIRED) | parent_start + space,
[INFO] [stdout] 116 | |                     end | EQ(REQUIRED) | parent_end - space,
[INFO] [stdout] 117 | |                 ]);
[INFO] [stdout]     | |_________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:120:28
[INFO] [stdout]     |
[INFO] [stdout] 120 |                   parent.add(constraints![
[INFO] [stdout]     |  ____________________________-
[INFO] [stdout] 121 | |                     start | EQ(REQUIRED) | parent_start,
[INFO] [stdout] 122 | |                     end | EQ(REQUIRED) | parent_end,
[INFO] [stdout] 123 | |                 ]);
[INFO] [stdout]     | |_________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:196:35
[INFO] [stdout]     |
[INFO] [stdout] 196 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 197 | |                             align_top(parent),
[INFO] [stdout] 198 | |                             align_bottom(parent),
[INFO] [stdout] 199 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:202:35
[INFO] [stdout]     |
[INFO] [stdout] 202 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 203 | |                             center_vertical(parent),
[INFO] [stdout] 204 | |                             bound_top(parent),
[INFO] [stdout] 205 | |                             bound_bottom(parent),
[INFO] [stdout] 206 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:209:35
[INFO] [stdout]     |
[INFO] [stdout] 209 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 210 | |                             align_top(parent),
[INFO] [stdout] 211 | |                             bound_bottom(parent),
[INFO] [stdout] 212 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:215:35
[INFO] [stdout]     |
[INFO] [stdout] 215 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 216 | |                             bound_top(parent),
[INFO] [stdout] 217 | |                             align_bottom(parent),
[INFO] [stdout] 218 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:221:35
[INFO] [stdout]     |
[INFO] [stdout] 221 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 222 | |                             bound_top(parent),
[INFO] [stdout] 223 | |                             bound_bottom(parent),
[INFO] [stdout] 224 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:232:35
[INFO] [stdout]     |
[INFO] [stdout] 232 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 233 | |                             align_left(parent),
[INFO] [stdout] 234 | |                             align_right(parent),
[INFO] [stdout] 235 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:238:35
[INFO] [stdout]     |
[INFO] [stdout] 238 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 239 | |                             center_horizontal(parent),
[INFO] [stdout] 240 | |                             bound_left(parent),
[INFO] [stdout] 241 | |                             bound_right(parent),
[INFO] [stdout] 242 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:245:35
[INFO] [stdout]     |
[INFO] [stdout] 245 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 246 | |                             align_left(parent),
[INFO] [stdout] 247 | |                             bound_right(parent),
[INFO] [stdout] 248 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:251:35
[INFO] [stdout]     |
[INFO] [stdout] 251 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 252 | |                             bound_left(parent),
[INFO] [stdout] 253 | |                             align_right(parent),
[INFO] [stdout] 254 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:257:35
[INFO] [stdout]     |
[INFO] [stdout] 257 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 258 | |                             bound_left(parent),
[INFO] [stdout] 259 | |                             bound_right(parent),
[INFO] [stdout] 260 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/grid_layout.rs:79:19
[INFO] [stdout]     |
[INFO] [stdout]  79 |           child.add(constraints![
[INFO] [stdout]     |  ___________________-
[INFO] [stdout]  80 | |             bound_by(row),
[INFO] [stdout]  81 | |             bound_by(col),
[INFO] [stdout]  82 | |             match_layout(&parent).strength(STRONG),
[INFO] [stdout]  83 | |         ]);
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]    --> src/lib.rs:426:1
[INFO] [stdout]     |
[INFO] [stdout] 426 | / lazy_static! {
[INFO] [stdout] 427 | |     pub static ref LAYOUT: LayoutVars = LayoutVars::new();
[INFO] [stdout] 428 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:154:34
[INFO] [stdout]     |
[INFO] [stdout] 154 |     container: Option<Rc<RefCell<LayoutContainer>>>,
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 154 |     container: Option<Rc<RefCell<dyn LayoutContainer>>>,
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/constraint.rs:430:32
[INFO] [stdout]     |
[INFO] [stdout] 430 | impl ConstraintBuilder for Box<ConstraintBuilder> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 430 | impl ConstraintBuilder for Box<dyn ConstraintBuilder> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |           child.add(constraints![
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 404 | |             bound_by(&parent).padding(self.padding),
[INFO] [stdout] 405 | |             match_layout(&parent).strength(WEAK),
[INFO] [stdout] 406 | |         ]);
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:208:22
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub fn edit_left(&mut self) -> VariableEditable {
[INFO] [stdout]     |                      ^^^^^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub fn edit_left(&mut self) -> VariableEditable<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:212:21
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn edit_top(&mut self) -> VariableEditable {
[INFO] [stdout]     |                     ^^^^^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn edit_top(&mut self) -> VariableEditable<'_> {
[INFO] [stdout]     |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:216:23
[INFO] [stdout]     |
[INFO] [stdout] 216 |     pub fn edit_right(&mut self) -> VariableEditable {
[INFO] [stdout]     |                       ^^^^^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 216 |     pub fn edit_right(&mut self) -> VariableEditable<'_> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:220:24
[INFO] [stdout]     |
[INFO] [stdout] 220 |     pub fn edit_bottom(&mut self) -> VariableEditable {
[INFO] [stdout]     |                        ^^^^^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 220 |     pub fn edit_bottom(&mut self) -> VariableEditable<'_> {
[INFO] [stdout]     |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:224:23
[INFO] [stdout]     |
[INFO] [stdout] 224 |     pub fn edit_width(&mut self) -> VariableEditable {
[INFO] [stdout]     |                       ^^^^^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 224 |     pub fn edit_width(&mut self) -> VariableEditable<'_> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:228:24
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub fn edit_height(&mut self) -> VariableEditable {
[INFO] [stdout]     |                        ^^^^^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub fn edit_height(&mut self) -> VariableEditable<'_> {
[INFO] [stdout]     |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:114:28
[INFO] [stdout]     |
[INFO] [stdout] 114 |                   parent.add(constraints![
[INFO] [stdout]     |  ____________________________-
[INFO] [stdout] 115 | |                     start | EQ(REQUIRED) | parent_start + space,
[INFO] [stdout] 116 | |                     end | EQ(REQUIRED) | parent_end - space,
[INFO] [stdout] 117 | |                 ]);
[INFO] [stdout]     | |_________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:120:28
[INFO] [stdout]     |
[INFO] [stdout] 120 |                   parent.add(constraints![
[INFO] [stdout]     |  ____________________________-
[INFO] [stdout] 121 | |                     start | EQ(REQUIRED) | parent_start,
[INFO] [stdout] 122 | |                     end | EQ(REQUIRED) | parent_end,
[INFO] [stdout] 123 | |                 ]);
[INFO] [stdout]     | |_________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:196:35
[INFO] [stdout]     |
[INFO] [stdout] 196 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 197 | |                             align_top(parent),
[INFO] [stdout] 198 | |                             align_bottom(parent),
[INFO] [stdout] 199 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:202:35
[INFO] [stdout]     |
[INFO] [stdout] 202 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 203 | |                             center_vertical(parent),
[INFO] [stdout] 204 | |                             bound_top(parent),
[INFO] [stdout] 205 | |                             bound_bottom(parent),
[INFO] [stdout] 206 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:209:35
[INFO] [stdout]     |
[INFO] [stdout] 209 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 210 | |                             align_top(parent),
[INFO] [stdout] 211 | |                             bound_bottom(parent),
[INFO] [stdout] 212 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:215:35
[INFO] [stdout]     |
[INFO] [stdout] 215 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 216 | |                             bound_top(parent),
[INFO] [stdout] 217 | |                             align_bottom(parent),
[INFO] [stdout] 218 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:221:35
[INFO] [stdout]     |
[INFO] [stdout] 221 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 222 | |                             bound_top(parent),
[INFO] [stdout] 223 | |                             bound_bottom(parent),
[INFO] [stdout] 224 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:232:35
[INFO] [stdout]     |
[INFO] [stdout] 232 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 233 | |                             align_left(parent),
[INFO] [stdout] 234 | |                             align_right(parent),
[INFO] [stdout] 235 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:238:35
[INFO] [stdout]     |
[INFO] [stdout] 238 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 239 | |                             center_horizontal(parent),
[INFO] [stdout] 240 | |                             bound_left(parent),
[INFO] [stdout] 241 | |                             bound_right(parent),
[INFO] [stdout] 242 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:245:35
[INFO] [stdout]     |
[INFO] [stdout] 245 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 246 | |                             align_left(parent),
[INFO] [stdout] 247 | |                             bound_right(parent),
[INFO] [stdout] 248 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:251:35
[INFO] [stdout]     |
[INFO] [stdout] 251 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 252 | |                             bound_left(parent),
[INFO] [stdout] 253 | |                             align_right(parent),
[INFO] [stdout] 254 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:257:35
[INFO] [stdout]     |
[INFO] [stdout] 257 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 258 | |                             bound_left(parent),
[INFO] [stdout] 259 | |                             bound_right(parent),
[INFO] [stdout] 260 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/grid_layout.rs:79:19
[INFO] [stdout]     |
[INFO] [stdout]  79 |           child.add(constraints![
[INFO] [stdout]     |  ___________________-
[INFO] [stdout]  80 | |             bound_by(row),
[INFO] [stdout]  81 | |             bound_by(col),
[INFO] [stdout]  82 | |             match_layout(&parent).strength(STRONG),
[INFO] [stdout]  83 | |         ]);
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:208:22
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub fn edit_left(&mut self) -> VariableEditable {
[INFO] [stdout]     |                      ^^^^^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub fn edit_left(&mut self) -> VariableEditable<'_> {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:212:21
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn edit_top(&mut self) -> VariableEditable {
[INFO] [stdout]     |                     ^^^^^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn edit_top(&mut self) -> VariableEditable<'_> {
[INFO] [stdout]     |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:216:23
[INFO] [stdout]     |
[INFO] [stdout] 216 |     pub fn edit_right(&mut self) -> VariableEditable {
[INFO] [stdout]     |                       ^^^^^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 216 |     pub fn edit_right(&mut self) -> VariableEditable<'_> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:220:24
[INFO] [stdout]     |
[INFO] [stdout] 220 |     pub fn edit_bottom(&mut self) -> VariableEditable {
[INFO] [stdout]     |                        ^^^^^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 220 |     pub fn edit_bottom(&mut self) -> VariableEditable<'_> {
[INFO] [stdout]     |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:224:23
[INFO] [stdout]     |
[INFO] [stdout] 224 |     pub fn edit_width(&mut self) -> VariableEditable {
[INFO] [stdout]     |                       ^^^^^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 224 |     pub fn edit_width(&mut self) -> VariableEditable<'_> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lib.rs:228:24
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub fn edit_height(&mut self) -> VariableEditable {
[INFO] [stdout]     |                        ^^^^^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub fn edit_height(&mut self) -> VariableEditable<'_> {
[INFO] [stdout]     |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.66s
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2015 edition to 2018
[INFO] [stderr]     Checking limn-layout v0.0.1 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2018 edition to 2021
[INFO] [stderr]        Fixed src/constraint.rs (1 fix)
[INFO] [stderr]        Fixed src/lib.rs (1 fix)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |           child.add(constraints![
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 404 | |             bound_by(&parent).padding(self.padding),
[INFO] [stdout] 405 | |             match_layout(&parent).strength(WEAK),
[INFO] [stdout] 406 | |         ]);
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `--force-warn bare-trait-objects` implied by `--force-warn rust-2021-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:114:28
[INFO] [stdout]     |
[INFO] [stdout] 114 |                   parent.add(constraints![
[INFO] [stdout]     |  ____________________________-
[INFO] [stdout] 115 | |                     start | EQ(REQUIRED) | parent_start + space,
[INFO] [stdout] 116 | |                     end | EQ(REQUIRED) | parent_end - space,
[INFO] [stdout] 117 | |                 ]);
[INFO] [stdout]     | |_________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:120:28
[INFO] [stdout]     |
[INFO] [stdout] 120 |                   parent.add(constraints![
[INFO] [stdout]     |  ____________________________-
[INFO] [stdout] 121 | |                     start | EQ(REQUIRED) | parent_start,
[INFO] [stdout] 122 | |                     end | EQ(REQUIRED) | parent_end,
[INFO] [stdout] 123 | |                 ]);
[INFO] [stdout]     | |_________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:196:35
[INFO] [stdout]     |
[INFO] [stdout] 196 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 197 | |                             align_top(parent),
[INFO] [stdout] 198 | |                             align_bottom(parent),
[INFO] [stdout] 199 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:202:35
[INFO] [stdout]     |
[INFO] [stdout] 202 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 203 | |                             center_vertical(parent),
[INFO] [stdout] 204 | |                             bound_top(parent),
[INFO] [stdout] 205 | |                             bound_bottom(parent),
[INFO] [stdout] 206 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:209:35
[INFO] [stdout]     |
[INFO] [stdout] 209 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 210 | |                             align_top(parent),
[INFO] [stdout] 211 | |                             bound_bottom(parent),
[INFO] [stdout] 212 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:215:35
[INFO] [stdout]     |
[INFO] [stdout] 215 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 216 | |                             bound_top(parent),
[INFO] [stdout] 217 | |                             align_bottom(parent),
[INFO] [stdout] 218 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:221:35
[INFO] [stdout]     |
[INFO] [stdout] 221 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 222 | |                             bound_top(parent),
[INFO] [stdout] 223 | |                             bound_bottom(parent),
[INFO] [stdout] 224 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:232:35
[INFO] [stdout]     |
[INFO] [stdout] 232 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 233 | |                             align_left(parent),
[INFO] [stdout] 234 | |                             align_right(parent),
[INFO] [stdout] 235 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:238:35
[INFO] [stdout]     |
[INFO] [stdout] 238 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 239 | |                             center_horizontal(parent),
[INFO] [stdout] 240 | |                             bound_left(parent),
[INFO] [stdout] 241 | |                             bound_right(parent),
[INFO] [stdout] 242 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:245:35
[INFO] [stdout]     |
[INFO] [stdout] 245 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 246 | |                             align_left(parent),
[INFO] [stdout] 247 | |                             bound_right(parent),
[INFO] [stdout] 248 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:251:35
[INFO] [stdout]     |
[INFO] [stdout] 251 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 252 | |                             bound_left(parent),
[INFO] [stdout] 253 | |                             align_right(parent),
[INFO] [stdout] 254 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:257:35
[INFO] [stdout]     |
[INFO] [stdout] 257 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 258 | |                             bound_left(parent),
[INFO] [stdout] 259 | |                             bound_right(parent),
[INFO] [stdout] 260 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/grid_layout.rs:79:19
[INFO] [stdout]     |
[INFO] [stdout]  79 |           child.add(constraints![
[INFO] [stdout]     |  ___________________-
[INFO] [stdout]  80 | |             bound_by(row),
[INFO] [stdout]  81 | |             bound_by(col),
[INFO] [stdout]  82 | |             match_layout(&parent).strength(STRONG),
[INFO] [stdout]  83 | |         ]);
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/integration.rs from 2018 edition to 2021
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |           child.add(constraints![
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 404 | |             bound_by(&parent).padding(self.padding),
[INFO] [stdout] 405 | |             match_layout(&parent).strength(WEAK),
[INFO] [stdout] 406 | |         ]);
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `--force-warn bare-trait-objects` implied by `--force-warn rust-2021-compatibility`
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:114:28
[INFO] [stdout]     |
[INFO] [stdout] 114 |                   parent.add(constraints![
[INFO] [stdout]     |  ____________________________-
[INFO] [stdout] 115 | |                     start | EQ(REQUIRED) | parent_start + space,
[INFO] [stdout] 116 | |                     end | EQ(REQUIRED) | parent_end - space,
[INFO] [stdout] 117 | |                 ]);
[INFO] [stdout]     | |_________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:120:28
[INFO] [stdout]     |
[INFO] [stdout] 120 |                   parent.add(constraints![
[INFO] [stdout]     |  ____________________________-
[INFO] [stdout] 121 | |                     start | EQ(REQUIRED) | parent_start,
[INFO] [stdout] 122 | |                     end | EQ(REQUIRED) | parent_end,
[INFO] [stdout] 123 | |                 ]);
[INFO] [stdout]     | |_________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:196:35
[INFO] [stdout]     |
[INFO] [stdout] 196 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 197 | |                             align_top(parent),
[INFO] [stdout] 198 | |                             align_bottom(parent),
[INFO] [stdout] 199 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:202:35
[INFO] [stdout]     |
[INFO] [stdout] 202 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 203 | |                             center_vertical(parent),
[INFO] [stdout] 204 | |                             bound_top(parent),
[INFO] [stdout] 205 | |                             bound_bottom(parent),
[INFO] [stdout] 206 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:209:35
[INFO] [stdout]     |
[INFO] [stdout] 209 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 210 | |                             align_top(parent),
[INFO] [stdout] 211 | |                             bound_bottom(parent),
[INFO] [stdout] 212 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:215:35
[INFO] [stdout]     |
[INFO] [stdout] 215 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 216 | |                             bound_top(parent),
[INFO] [stdout] 217 | |                             align_bottom(parent),
[INFO] [stdout] 218 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:221:35
[INFO] [stdout]     |
[INFO] [stdout] 221 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 222 | |                             bound_top(parent),
[INFO] [stdout] 223 | |                             bound_bottom(parent),
[INFO] [stdout] 224 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:232:35
[INFO] [stdout]     |
[INFO] [stdout] 232 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 233 | |                             align_left(parent),
[INFO] [stdout] 234 | |                             align_right(parent),
[INFO] [stdout] 235 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:238:35
[INFO] [stdout]     |
[INFO] [stdout] 238 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 239 | |                             center_horizontal(parent),
[INFO] [stdout] 240 | |                             bound_left(parent),
[INFO] [stdout] 241 | |                             bound_right(parent),
[INFO] [stdout] 242 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:245:35
[INFO] [stdout]     |
[INFO] [stdout] 245 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 246 | |                             align_left(parent),
[INFO] [stdout] 247 | |                             bound_right(parent),
[INFO] [stdout] 248 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:251:35
[INFO] [stdout]     |
[INFO] [stdout] 251 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 252 | |                             bound_left(parent),
[INFO] [stdout] 253 | |                             align_right(parent),
[INFO] [stdout] 254 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:257:35
[INFO] [stdout]     |
[INFO] [stdout] 257 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 258 | |                             bound_left(parent),
[INFO] [stdout] 259 | |                             bound_right(parent),
[INFO] [stdout] 260 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/grid_layout.rs:79:19
[INFO] [stdout]     |
[INFO] [stdout]  79 |           child.add(constraints![
[INFO] [stdout]     |  ___________________-
[INFO] [stdout]  80 | |             bound_by(row),
[INFO] [stdout]  81 | |             bound_by(col),
[INFO] [stdout]  82 | |             match_layout(&parent).strength(STRONG),
[INFO] [stdout]  83 | |         ]);
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.86s
[INFO] [stderr] crater-edition-check: limn-layout v0.0.1 (/opt/rustwide/workdir) updating edition from 2018 to 2021
[INFO] [stderr]     Checking limn-layout v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]  --> src/lib.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![cfg_attr(all(not(test), feature="clippy"), warn(result_unwrap_used))]
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]  --> src/lib.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![cfg_attr(feature="clippy", warn(unseparated_literal_suffix))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]  --> src/lib.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | #![cfg_attr(feature="clippy", warn(wrong_pub_self_convention))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]  --> src/lib.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | #![cfg_attr(feature="clippy", feature(plugin))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]  --> src/lib.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | #![cfg_attr(feature="clippy", plugin(clippy))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 | #![cfg_attr(feature="clippy", warn(cast_possible_truncation))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 | #![cfg_attr(feature="clippy", warn(cast_possible_wrap))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 | #![cfg_attr(feature="clippy", warn(cast_precision_loss))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 | #![cfg_attr(feature="clippy", warn(cast_sign_loss))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 | #![cfg_attr(feature="clippy", warn(missing_docs_in_private_items))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 | #![cfg_attr(feature="clippy", warn(mut_mut))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 | #![cfg_attr(feature="clippy", warn(print_stdout))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:31:28
[INFO] [stdout]    |
[INFO] [stdout] 31 | #![cfg_attr(all(not(test), feature="clippy"), warn(result_unwrap_used))]
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 | #![cfg_attr(feature="clippy", warn(unseparated_literal_suffix))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 | #![cfg_attr(feature="clippy", warn(wrong_pub_self_convention))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern crate` is not idiomatic in the new edition
[INFO] [stdout]   --> src/lib.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | extern crate cassowary;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         unused_extern_crates,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: convert it to a `use`
[INFO] [stdout]    |
[INFO] [stdout] 41 - extern crate cassowary;
[INFO] [stdout] 41 + use cassowary;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused extern crate
[INFO] [stdout]   --> src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | extern crate euclid;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^ unused
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unused `extern crate`
[INFO] [stdout]    |
[INFO] [stdout] 42 - extern crate euclid;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]    --> src/lib.rs:426:1
[INFO] [stdout]     |
[INFO] [stdout] 426 | / lazy_static! {
[INFO] [stdout] 427 | |     pub static ref LAYOUT: LayoutVars = LayoutVars::new();
[INFO] [stdout] 428 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |           child.add(constraints![
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 404 | |             bound_by(&parent).padding(self.padding),
[INFO] [stdout] 405 | |             match_layout(&parent).strength(WEAK),
[INFO] [stdout] 406 | |         ]);
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]  --> src/lib.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![cfg_attr(all(not(test), feature="clippy"), warn(result_unwrap_used))]
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]  --> src/lib.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![cfg_attr(feature="clippy", warn(unseparated_literal_suffix))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]  --> src/lib.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | #![cfg_attr(feature="clippy", warn(wrong_pub_self_convention))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]  --> src/lib.rs:8:13
[INFO] [stdout]   |
[INFO] [stdout] 8 | #![cfg_attr(feature="clippy", feature(plugin))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]  --> src/lib.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | #![cfg_attr(feature="clippy", plugin(clippy))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]   |
[INFO] [stdout]   = note: no expected values for `feature`
[INFO] [stdout]   = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 | #![cfg_attr(feature="clippy", warn(cast_possible_truncation))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 | #![cfg_attr(feature="clippy", warn(cast_possible_wrap))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 | #![cfg_attr(feature="clippy", warn(cast_precision_loss))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 | #![cfg_attr(feature="clippy", warn(cast_sign_loss))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 | #![cfg_attr(feature="clippy", warn(missing_docs_in_private_items))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 | #![cfg_attr(feature="clippy", warn(mut_mut))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 | #![cfg_attr(feature="clippy", warn(print_stdout))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:31:28
[INFO] [stdout]    |
[INFO] [stdout] 31 | #![cfg_attr(all(not(test), feature="clippy"), warn(result_unwrap_used))]
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 | #![cfg_attr(feature="clippy", warn(unseparated_literal_suffix))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `clippy`
[INFO] [stdout]   --> src/lib.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 | #![cfg_attr(feature="clippy", warn(wrong_pub_self_convention))]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `clippy` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern crate` is not idiomatic in the new edition
[INFO] [stdout]   --> src/lib.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | extern crate cassowary;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         unused_extern_crates,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: convert it to a `use`
[INFO] [stdout]    |
[INFO] [stdout] 41 - extern crate cassowary;
[INFO] [stdout] 41 + use cassowary;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused extern crate
[INFO] [stdout]   --> src/lib.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 42 | extern crate euclid;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^ unused
[INFO] [stdout]    |
[INFO] [stdout] help: remove the unused `extern crate`
[INFO] [stdout]    |
[INFO] [stdout] 42 - extern crate euclid;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:114:28
[INFO] [stdout]     |
[INFO] [stdout] 114 |                   parent.add(constraints![
[INFO] [stdout]     |  ____________________________-
[INFO] [stdout] 115 | |                     start | EQ(REQUIRED) | parent_start + space,
[INFO] [stdout] 116 | |                     end | EQ(REQUIRED) | parent_end - space,
[INFO] [stdout] 117 | |                 ]);
[INFO] [stdout]     | |_________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:120:28
[INFO] [stdout]     |
[INFO] [stdout] 120 |                   parent.add(constraints![
[INFO] [stdout]     |  ____________________________-
[INFO] [stdout] 121 | |                     start | EQ(REQUIRED) | parent_start,
[INFO] [stdout] 122 | |                     end | EQ(REQUIRED) | parent_end,
[INFO] [stdout] 123 | |                 ]);
[INFO] [stdout]     | |_________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:196:35
[INFO] [stdout]     |
[INFO] [stdout] 196 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 197 | |                             align_top(parent),
[INFO] [stdout] 198 | |                             align_bottom(parent),
[INFO] [stdout] 199 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:202:35
[INFO] [stdout]     |
[INFO] [stdout] 202 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 203 | |                             center_vertical(parent),
[INFO] [stdout] 204 | |                             bound_top(parent),
[INFO] [stdout] 205 | |                             bound_bottom(parent),
[INFO] [stdout] 206 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:209:35
[INFO] [stdout]     |
[INFO] [stdout] 209 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 210 | |                             align_top(parent),
[INFO] [stdout] 211 | |                             bound_bottom(parent),
[INFO] [stdout] 212 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:215:35
[INFO] [stdout]     |
[INFO] [stdout] 215 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 216 | |                             bound_top(parent),
[INFO] [stdout] 217 | |                             align_bottom(parent),
[INFO] [stdout] 218 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:221:35
[INFO] [stdout]     |
[INFO] [stdout] 221 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 222 | |                             bound_top(parent),
[INFO] [stdout] 223 | |                             bound_bottom(parent),
[INFO] [stdout] 224 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:232:35
[INFO] [stdout]     |
[INFO] [stdout] 232 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 233 | |                             align_left(parent),
[INFO] [stdout] 234 | |                             align_right(parent),
[INFO] [stdout] 235 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:238:35
[INFO] [stdout]     |
[INFO] [stdout] 238 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 239 | |                             center_horizontal(parent),
[INFO] [stdout] 240 | |                             bound_left(parent),
[INFO] [stdout] 241 | |                             bound_right(parent),
[INFO] [stdout] 242 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:245:35
[INFO] [stdout]     |
[INFO] [stdout] 245 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 246 | |                             align_left(parent),
[INFO] [stdout] 247 | |                             bound_right(parent),
[INFO] [stdout] 248 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:251:35
[INFO] [stdout]     |
[INFO] [stdout] 251 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 252 | |                             bound_left(parent),
[INFO] [stdout] 253 | |                             align_right(parent),
[INFO] [stdout] 254 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:257:35
[INFO] [stdout]     |
[INFO] [stdout] 257 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 258 | |                             bound_left(parent),
[INFO] [stdout] 259 | |                             bound_right(parent),
[INFO] [stdout] 260 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/grid_layout.rs:79:19
[INFO] [stdout]     |
[INFO] [stdout]  79 |           child.add(constraints![
[INFO] [stdout]     |  ___________________-
[INFO] [stdout]  80 | |             bound_by(row),
[INFO] [stdout]  81 | |             bound_by(col),
[INFO] [stdout]  82 | |             match_layout(&parent).strength(STRONG),
[INFO] [stdout]  83 | |         ]);
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]    --> src/lib.rs:426:1
[INFO] [stdout]     |
[INFO] [stdout] 426 | / lazy_static! {
[INFO] [stdout] 427 | |     pub static ref LAYOUT: LayoutVars = LayoutVars::new();
[INFO] [stdout] 428 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |           child.add(constraints![
[INFO] [stdout]     |  ___________________-
[INFO] [stdout] 404 | |             bound_by(&parent).padding(self.padding),
[INFO] [stdout] 405 | |             match_layout(&parent).strength(WEAK),
[INFO] [stdout] 406 | |         ]);
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0782`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `limn-layout` (lib test) due to 14 previous errors; 18 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:114:28
[INFO] [stdout]     |
[INFO] [stdout] 114 |                   parent.add(constraints![
[INFO] [stdout]     |  ____________________________-
[INFO] [stdout] 115 | |                     start | EQ(REQUIRED) | parent_start + space,
[INFO] [stdout] 116 | |                     end | EQ(REQUIRED) | parent_end - space,
[INFO] [stdout] 117 | |                 ]);
[INFO] [stdout]     | |_________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:120:28
[INFO] [stdout]     |
[INFO] [stdout] 120 |                   parent.add(constraints![
[INFO] [stdout]     |  ____________________________-
[INFO] [stdout] 121 | |                     start | EQ(REQUIRED) | parent_start,
[INFO] [stdout] 122 | |                     end | EQ(REQUIRED) | parent_end,
[INFO] [stdout] 123 | |                 ]);
[INFO] [stdout]     | |_________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:196:35
[INFO] [stdout]     |
[INFO] [stdout] 196 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 197 | |                             align_top(parent),
[INFO] [stdout] 198 | |                             align_bottom(parent),
[INFO] [stdout] 199 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:202:35
[INFO] [stdout]     |
[INFO] [stdout] 202 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 203 | |                             center_vertical(parent),
[INFO] [stdout] 204 | |                             bound_top(parent),
[INFO] [stdout] 205 | |                             bound_bottom(parent),
[INFO] [stdout] 206 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:209:35
[INFO] [stdout]     |
[INFO] [stdout] 209 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 210 | |                             align_top(parent),
[INFO] [stdout] 211 | |                             bound_bottom(parent),
[INFO] [stdout] 212 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:215:35
[INFO] [stdout]     |
[INFO] [stdout] 215 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 216 | |                             bound_top(parent),
[INFO] [stdout] 217 | |                             align_bottom(parent),
[INFO] [stdout] 218 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:221:35
[INFO] [stdout]     |
[INFO] [stdout] 221 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 222 | |                             bound_top(parent),
[INFO] [stdout] 223 | |                             bound_bottom(parent),
[INFO] [stdout] 224 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:232:35
[INFO] [stdout]     |
[INFO] [stdout] 232 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 233 | |                             align_left(parent),
[INFO] [stdout] 234 | |                             align_right(parent),
[INFO] [stdout] 235 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:238:35
[INFO] [stdout]     |
[INFO] [stdout] 238 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 239 | |                             center_horizontal(parent),
[INFO] [stdout] 240 | |                             bound_left(parent),
[INFO] [stdout] 241 | |                             bound_right(parent),
[INFO] [stdout] 242 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:245:35
[INFO] [stdout]     |
[INFO] [stdout] 245 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 246 | |                             align_left(parent),
[INFO] [stdout] 247 | |                             bound_right(parent),
[INFO] [stdout] 248 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:251:35
[INFO] [stdout]     |
[INFO] [stdout] 251 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 252 | |                             bound_left(parent),
[INFO] [stdout] 253 | |                             align_right(parent),
[INFO] [stdout] 254 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/linear_layout.rs:257:35
[INFO] [stdout]     |
[INFO] [stdout] 257 |                           child.add(constraints![
[INFO] [stdout]     |  ___________________________________-
[INFO] [stdout] 258 | |                             bound_left(parent),
[INFO] [stdout] 259 | |                             bound_right(parent),
[INFO] [stdout] 260 | |                         ]);
[INFO] [stdout]     | |_________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0782]: expected a type, found a trait
[INFO] [stdout]    --> src/lib.rs:379:34
[INFO] [stdout]     |
[INFO] [stdout] 379 |               let mut vec: Vec<Box<ConstraintBuilder>> = Vec::new();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/grid_layout.rs:79:19
[INFO] [stdout]     |
[INFO] [stdout]  79 |           child.add(constraints![
[INFO] [stdout]     |  ___________________-
[INFO] [stdout]  80 | |             bound_by(row),
[INFO] [stdout]  81 | |             bound_by(col),
[INFO] [stdout]  82 | |             match_layout(&parent).strength(STRONG),
[INFO] [stdout]  83 | |         ]);
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0782`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `limn-layout` (lib) due to 14 previous errors; 18 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "86a18b6311af53473a8e6ab33893cc4c7a2b5f8c599e3315ef93a1f66a8dcd8f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "86a18b6311af53473a8e6ab33893cc4c7a2b5f8c599e3315ef93a1f66a8dcd8f", kill_on_drop: false }`
[INFO] [stdout] 86a18b6311af53473a8e6ab33893cc4c7a2b5f8c599e3315ef93a1f66a8dcd8f
